#region

using SqlSugar;
using Vin.Extension.Framework.Entities;
using Vin.Extension.SqlSugar.Attributes;

#endregion

namespace Vin.Extension.Framework.Sms.Entities;

/// <summary>
/// 短信日志
/// </summary>
[VinSqlSugarEntity("短信日志")]
public class SysSmsLog : VinFrameworkBaseEntity
{
    /// <summary>
    /// 业务Id
    /// </summary>
    [SugarColumn(ColumnDescription = "业务Id")]
    public string? BusinessId { get; set; }

    /// <summary>
    /// 业务描述
    /// </summary>
    [SugarColumn(ColumnDescription = "业务描述")]
    public string? BusinessDesc { get; set; }

    /// <summary>
    /// 发送者
    /// </summary>
    [SugarColumn(ColumnDescription = "发送者")]
    public string? Sender { get; set; }

    /// <summary>
    /// 发送者信息
    /// </summary>
    [SugarColumn(ColumnDescription = "发送者信息", IsJson = true, ColumnDataType = "json")]
    public object? SenderInfo { get; set; }

    /// <summary>
    /// 发送渠道
    /// </summary>
    [SugarColumn(ColumnDescription = "发送渠道")]
    public string? Channel { get; set; }

    /// <summary>
    /// 接收者
    /// </summary>
    [SugarColumn(ColumnDescription = "接收者")]
    public string? Receiver { get; set; }

    /// <summary>
    /// 接收者信息
    /// </summary>
    [SugarColumn(ColumnDescription = "接收者信息", IsJson = true, ColumnDataType = "json")]
    public object? ReceiverInfo { get; set; }

    /// <summary>
    /// 标题
    /// </summary>
    [SugarColumn(ColumnDescription = "标题")]
    public string? Title { get; set; }

    /// <summary>
    /// 内容模板
    /// </summary>
    [SugarColumn(ColumnDescription = "内容模板", DefaultValue = "''")]
    public string? Template { get; set; }

    /// <summary>
    /// 模板数据
    /// </summary>
    [SugarColumn(ColumnDescription = "模板数据", IsJson = true, ColumnDataType = "json")]
    public object? TemplateData { get; set; }

    /// <summary>
    /// 完整内容
    /// </summary>
    [SugarColumn(ColumnDescription = "完整内容")]
    public string? Content { get; set; }

    /// <summary>
    /// 发送其他配置
    /// </summary>
    [SugarColumn(ColumnDescription = "发送其他配置", IsJson = true, ColumnDataType = "json")]
    public object? Option { get; set; }

    /// <summary>
    /// 发送状态
    /// </summary>
    [SugarColumn(ColumnDescription = "发送状态", DefaultValue = "1")]
    public bool IsSuccess { get; set; }

    /// <summary>
    /// 发送结果
    /// </summary>
    [SugarColumn(ColumnDescription = "发送结果", ColumnDataType = "text")]
    public string? Result { get; set; }
}